<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>


<body>
    <div id="test"></div>
</body>



<script type="text/javascript" src="../js/react.development.js"></script>
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<script type="text/javascript" src="../js/babel.min.js"></script>
<script type="text/javascript" src="../js/prop-types.js"></script>

<script type="text/babel"> //必须声明 babel
    class Life extends React.Component {
        state = {
            opacity: 1,
            timer: null
        }
        clear = () => {
            ReactDOM.unmountComponentAtNode(document.getElementById('test'))
        }
        //组价挂载完毕
        componentDidMount() {
            this.timer = setInterval(() => {
                console.log(11111);
                let { opacity } = this.state
                opacity -= 0.1
                if (opacity <= 0) opacity = 1
                this.setState({ opacity })
            }, 200)
            console.log('挂载完成');
        }
        componentWillUnmount() {
            clearInterval(this.timer)
        } 
        render() {
            return (
                <div>
                    <h1 style={{ opacity: this.state.opacity }} >生命周期</h1>
                    <button onClick={this.clear}>不活了</button>
                </div>
            )
        }
    }
    ReactDOM.render(<Life />, document.getElementById('test'))
</script>

</html>